import 'dart:async';

import 'package:get/get.dart';

class ForgetsendsmsController extends GetxController {
  ForgetsendsmsController();

  /// 当前倒计时的秒数。
  late int _seconds;
  late Timer _timer;

  /// 当前墨水瓶（`InkWell`）的文本。
  String verifyStr = '发送验证码';

  ///发送验证码倒计时最大值
  final _maxSecond = 5;

  _initData() {
    update(["forgetsendsms"]);
  }

  void onTap() {}

  void sendSMS() async {
    Future.delayed(const Duration(seconds: 2)).then((value) {
      _startTimer();
    });
  }

  ///发送验证码 倒计时相关代码
  /// 启动倒计时的计时器。
  void _startTimer() {
    // 计时器（`Timer`）组件的定期（`periodic`）构造函数，创建一个新的重复计时器。
    _timer = Timer.periodic(const Duration(seconds: 1), (timer) {
      if (_seconds == 0) {
        verifyStr = '发送验证码';

        /// 计时器（`Timer`）组件的取消（`cancel`）方法，取消计时器。
        _timer.cancel();
        _seconds = _maxSecond;
      } else {
        verifyStr = '$_seconds 秒后重新获取';
        _seconds--;
      }
      _initData();
    });
  }

  // @override
  // void onInit() {
  //   super.onInit();
  // }

  @override
  void onReady() {
    super.onReady();
    _seconds = _maxSecond;
    _initData();
  }

  // @override
  // void onClose() {
  //   super.onClose();
  // }
}
